<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name=Generator content="Microsoft Word 14 (filtered)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:宋体;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:黑体;
	panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
	{font-family:黑体;
	panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
	{font-family:方正小标宋简体;}
@font-face
	{font-family:"\@黑体";
	panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
	{font-family:"\@宋体";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"\@方正小标宋简体";}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
h1
	{mso-style-link:"标题 1 Char";
	margin-top:17.0pt;
	margin-right:0cm;
	margin-bottom:16.5pt;
	margin-left:7.2pt;
	text-align:center;
	text-indent:-7.2pt;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
h2
	{mso-style-link:"标题 2 Char";
	margin-top:13.0pt;
	margin-right:0cm;
	margin-bottom:13.0pt;
	margin-left:0cm;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:0cm;
	page-break-after:avoid;
	font-size:16.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
h3
	{mso-style-link:"标题 3 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:0cm;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
h4
	{mso-style-link:"标题 4 Char";
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:28.8pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-28.8pt;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
h5
	{mso-style-link:"标题 5 Char";
	margin-top:14.0pt;
	margin-right:0cm;
	margin-bottom:14.5pt;
	margin-left:36.0pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-36.0pt;
	line-height:156%;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
h6
	{mso-style-link:"标题 6 Char";
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.2pt;
	margin-left:43.2pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-43.2pt;
	line-height:133%;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
	{mso-style-link:"标题 7 Char";
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.2pt;
	margin-left:50.4pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-50.4pt;
	line-height:133%;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.MsoHeading8, li.MsoHeading8, div.MsoHeading8
	{mso-style-link:"标题 8 Char";
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.2pt;
	margin-left:57.6pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-72.0pt;
	line-height:133%;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Arial","sans-serif";}
p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
	{mso-style-link:"标题 9 Char";
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.2pt;
	margin-left:64.8pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-79.2pt;
	line-height:133%;
	page-break-after:avoid;
	font-size:10.0pt;
	font-family:"Arial","sans-serif";}
p.MsoIndex1, li.MsoIndex1, div.MsoIndex1
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:10.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex2, li.MsoIndex2, div.MsoIndex2
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex3, li.MsoIndex3, div.MsoIndex3
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:31.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex4, li.MsoIndex4, div.MsoIndex4
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:42.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex5, li.MsoIndex5, div.MsoIndex5
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:52.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex6, li.MsoIndex6, div.MsoIndex6
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:63.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex7, li.MsoIndex7, div.MsoIndex7
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:73.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex8, li.MsoIndex8, div.MsoIndex8
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:84.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex9, li.MsoIndex9, div.MsoIndex9
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:94.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc1, li.MsoToc1, div.MsoToc1
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.MsoToc2, li.MsoToc2, div.MsoToc2
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc3, li.MsoToc3, div.MsoToc3
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:42.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc4, li.MsoToc4, div.MsoToc4
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:31.5pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc5, li.MsoToc5, div.MsoToc5
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:42.0pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc6, li.MsoToc6, div.MsoToc6
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:52.5pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc7, li.MsoToc7, div.MsoToc7
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:63.0pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc8, li.MsoToc8, div.MsoToc8
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:73.5pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc9, li.MsoToc9, div.MsoToc9
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:84.0pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
	{mso-style-link:"脚注文本 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	layout-grid-mode:char;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
	{mso-style-link:"批注文字 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoHeader, li.MsoHeader, div.MsoHeader
	{mso-style-link:"页眉 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	layout-grid-mode:char;
	border:none;
	padding:0cm;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoFooter, li.MsoFooter, div.MsoFooter
	{mso-style-link:"页脚 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	layout-grid-mode:char;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoIndexHeading, li.MsoIndexHeading, div.MsoIndexHeading
	{mso-style-name:"索引标题\,索引类目\,索引类目1\,索引类目2";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoCaption, li.MsoCaption, div.MsoCaption
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Arial","sans-serif";}
p.MsoTof, li.MsoTof, div.MsoTof
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:42.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-21.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.MsoFootnoteReference
	{vertical-align:super;}
p.MsoList, li.MsoList, div.MsoList
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoList2, li.MsoList2, div.MsoList2
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoList4, li.MsoList4, div.MsoList4
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.MsoDate, li.MsoDate, div.MsoDate
	{mso-style-link:"日期 Char";
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:5.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-name:"超链接\,超级链接";
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
p
	{mso-style-name:"普通\(网站\)\,普通 \(Web\)\,普通 \(Web\)1\,普通 \(Web\)2\,普通 \(Web\)3";
	margin-right:0cm;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
pre
	{mso-style-name:"HTML 预设格式\,HTML 预先格式化\,HTML 预先格式化1\,HTML 预先格式化2\,HTML 预先格式化3";
	mso-style-link:"HTML 预设格式 Char\,HTML 预先格式化 Char\,HTML 预先格式化1 Char\,HTML 预先格式化2 Char\,HTML 预先格式化3 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
tt
	{font-family:黑体;}
p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject
	{mso-style-link:"批注主题 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-link:"批注框文本 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.1, li.1, div.1
	{mso-style-name:样式1;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.a, li.a, div.a
	{mso-style-name:代码程序;
	mso-style-link:"代码程序 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:宋体;}
span.Char
	{mso-style-name:"代码程序 Char";
	mso-style-link:代码程序;
	font-family:宋体;}
p.a0, li.a0, div.a0
	{mso-style-name:图说明;
	mso-style-link:"图说明 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.Char0
	{mso-style-name:"图说明 Char";
	mso-style-link:图说明;
	font-family:宋体;}
p.0, li.0, div.0
	{mso-style-name:封面0;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:36.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.10, li.10, div.10
	{mso-style-name:封面1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:18.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.11, li.11, div.11
	{mso-style-name:非标题1;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	font-size:22.0pt;
	font-family:宋体;
	font-weight:bold;}
p.a1, li.a1, div.a1
	{mso-style-name:文本居中;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.3CharChar, li.3CharChar, div.3CharChar
	{mso-style-name:"图中文字3 Char Char";
	mso-style-link:"图中文字3 Char Char Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
span.3CharCharChar
	{mso-style-name:"图中文字3 Char Char Char";
	mso-style-link:"图中文字3 Char Char";
	font-family:宋体;}
p.post, li.post, div.post
	{mso-style-name:邮件post;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:right;
	line-height:11.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.3, li.3, div.3
	{mso-style-name:图中字体3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.3CharChar1CharCharChar
	{mso-style-name:"图中文字3 Char Char1 Char Char Char";
	font-family:宋体;}
span.3CharChar1CharChar
	{mso-style-name:"图中文字3 Char Char1 Char Char";
	font-family:宋体;}
p.5Char, li.5Char, div.5Char
	{mso-style-name:"图中文字5号 Char";
	mso-style-link:"图中文字5号 Char Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.5CharChar
	{mso-style-name:"图中文字5号 Char Char";
	mso-style-link:"图中文字5号 Char";
	font-family:宋体;}
p.5CharChar0, li.5CharChar0, div.5CharChar0
	{mso-style-name:"图中文字小5号 Char Char";
	mso-style-link:"图中文字小5号 Char Char Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
span.5CharCharChar
	{mso-style-name:"图中文字小5号 Char Char Char";
	mso-style-link:"图中文字小5号 Char Char";
	font-family:宋体;}
p.5Char0, li.5Char0, div.5Char0
	{mso-style-name:"图中文字小5号 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.5, li.5, div.5
	{mso-style-name:图中文字小5号;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	layout-grid-mode:char;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.2, li.2, div.2
	{mso-style-name:代码程序2;
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:宋体;}
p.20, li.20, div.20
	{mso-style-name:图说明2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.21, li.21, div.21
	{mso-style-name:文本居中2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.3CharCharCharCharChar, li.3CharCharCharCharChar, div.3CharCharCharCharChar
	{mso-style-name:"图中文字3 Char Char Char Char Char";
	mso-style-link:"图中文字3 Char Char Char Char Char Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
span.3CharCharCharCharCharChar
	{mso-style-name:"图中文字3 Char Char Char Char Char Char";
	mso-style-link:"图中文字3 Char Char Char Char Char";
	font-family:宋体;}
p.a2, li.a2, div.a2
	{mso-style-name:图居中;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.110, li.110, div.110
	{mso-style-name:"样式 标题 1 + 居中1";
	margin-right:0cm;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
span.1Char
	{mso-style-name:"标题 1 Char";
	mso-style-link:"标题 1";
	font-weight:bold;}
p.22, li.22, div.22
	{mso-style-name:"样式 列表 2 + 居中";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.23, li.23, div.23
	{mso-style-name:列表2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.50, li.50, div.50
	{mso-style-name:图中文字5号;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.111, li.111, div.111
	{mso-style-name:样式11;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.12, li.12, div.12
	{mso-style-name:代码程序1;
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:宋体;}
p.13, li.13, div.13
	{mso-style-name:图说明1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.01, li.01, div.01
	{mso-style-name:封面01;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:36.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.112, li.112, div.112
	{mso-style-name:封面11;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:18.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.113, li.113, div.113
	{mso-style-name:非标题11;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	font-size:22.0pt;
	font-family:宋体;
	font-weight:bold;}
p.14, li.14, div.14
	{mso-style-name:文本居中1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.3Char1, li.3Char1, div.3Char1
	{mso-style-name:"图中文字3 Char1";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
p.post1, li.post1, div.post1
	{mso-style-name:邮件post1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:right;
	line-height:11.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.31, li.31, div.31
	{mso-style-name:图中字体31;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.5Char1, li.5Char1, div.5Char1
	{mso-style-name:"图中文字5号 Char1";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.5CharChar1, li.5CharChar1, div.5CharChar1
	{mso-style-name:"图中文字小5号 Char Char1";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.5Char10, li.5Char10, div.5Char10
	{mso-style-name:"图中文字小5号 Char1";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.51, li.51, div.51
	{mso-style-name:图中文字小5号1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.120, li.120, div.120
	{mso-style-name:样式12;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.02, li.02, div.02
	{mso-style-name:封面02;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:36.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.121, li.121, div.121
	{mso-style-name:封面12;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:18.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.122, li.122, div.122
	{mso-style-name:非标题12;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	font-size:22.0pt;
	font-family:宋体;
	font-weight:bold;}
p.3Char2, li.3Char2, div.3Char2
	{mso-style-name:"图中文字3 Char2";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
p.post2, li.post2, div.post2
	{mso-style-name:邮件post2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:right;
	line-height:11.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.32, li.32, div.32
	{mso-style-name:图中字体32;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.5Char2, li.5Char2, div.5Char2
	{mso-style-name:"图中文字小5号 Char2";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.52, li.52, div.52
	{mso-style-name:图中文字小5号2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.3CharCharCharChar, li.3CharCharCharChar, div.3CharCharCharChar
	{mso-style-name:"图中文字3 Char Char Char Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
p.130, li.130, div.130
	{mso-style-name:样式13;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.30, li.30, div.30
	{mso-style-name:代码程序3;
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:宋体;}
p.03, li.03, div.03
	{mso-style-name:封面03;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:36.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.131, li.131, div.131
	{mso-style-name:封面13;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:18.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.132, li.132, div.132
	{mso-style-name:非标题13;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	font-size:22.0pt;
	font-family:宋体;
	font-weight:bold;}
p.33, li.33, div.33
	{mso-style-name:文本居中3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.3Char3, li.3Char3, div.3Char3
	{mso-style-name:"图中文字3 Char3";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
p.post3, li.post3, div.post3
	{mso-style-name:邮件post3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:right;
	line-height:11.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.330, li.330, div.330
	{mso-style-name:图中字体33;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.5Char20, li.5Char20, div.5Char20
	{mso-style-name:"图中文字5号 Char2";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.5CharChar2, li.5CharChar2, div.5CharChar2
	{mso-style-name:"图中文字小5号 Char Char2";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.5Char3, li.5Char3, div.5Char3
	{mso-style-name:"图中文字小5号 Char3";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.53, li.53, div.53
	{mso-style-name:图中文字小5号3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.3Char, li.3Char, div.3Char
	{mso-style-name:"图中文字3 Char";
	mso-style-link:"图中文字3 Char Char5";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
span.3CharChar5
	{mso-style-name:"图中文字3 Char Char5";
	mso-style-link:"图中文字3 Char";
	font-family:宋体;}
p.54, li.54, div.54
	{mso-style-name:图中文字小5紧密;
	margin:0cm;
	margin-bottom:.0001pt;
	line-height:9.0pt;
	text-autospace:ideograph-numeric;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.24, li.24, div.24
	{mso-style-name:居中2号粗宋体;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.15, li.15, div.15
	{mso-style-name:"样式 标题 1 + 居中";
	margin-top:17.0pt;
	margin-right:0cm;
	margin-bottom:16.5pt;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.25, li.25, div.25
	{mso-style-name:"样式 标题 2 + 行距\: 单倍行距";
	margin-top:13.0pt;
	margin-right:0cm;
	margin-bottom:13.0pt;
	margin-left:28.9pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-28.9pt;
	page-break-after:avoid;
	font-size:16.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
span.2Char
	{mso-style-name:"标题 2 Char";
	mso-style-link:"标题 2";
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.34, li.34, div.34
	{mso-style-name:列表3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.35, li.35, div.35
	{mso-style-name:表3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.4, li.4, div.4
	{mso-style-name:图说明4;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.40, li.40, div.40
	{mso-style-name:列表4;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.41, li.41, div.41
	{mso-style-name:表4;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.55, li.55, div.55
	{mso-style-name:图说明5;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.56, li.56, div.56
	{mso-style-name:列表5;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.57, li.57, div.57
	{mso-style-name:表5;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.6, li.6, div.6
	{mso-style-name:列表6;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.60, li.60, div.60
	{mso-style-name:表6;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.61, li.61, div.61
	{mso-style-name:图说明6;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.7, li.7, div.7
	{mso-style-name:列表7;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.70, li.70, div.70
	{mso-style-name:图说明7;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.71, li.71, div.71
	{mso-style-name:表7;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.8, li.8, div.8
	{mso-style-name:列表8;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.9, li.9, div.9
	{mso-style-name:列表9;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.90, li.90, div.90
	{mso-style-name:图说明9;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.100, li.100, div.100
	{mso-style-name:列表10;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.101, li.101, div.101
	{mso-style-name:图说明10;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.114, li.114, div.114
	{mso-style-name:列表11;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.115, li.115, div.115
	{mso-style-name:图说明11;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.116, li.116, div.116
	{mso-style-name:表11;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.123, li.123, div.123
	{mso-style-name:列表12;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.124, li.124, div.124
	{mso-style-name:图说明12;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.133, li.133, div.133
	{mso-style-name:图说明13;
	mso-style-link:"图说明13 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.13Char
	{mso-style-name:"图说明13 Char";
	mso-style-link:图说明13;
	font-family:宋体;}
p.134, li.134, div.134
	{mso-style-name:列表13;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.26, li.26, div.26
	{mso-style-name:附录2;
	margin-top:13.0pt;
	margin-right:0cm;
	margin-bottom:13.0pt;
	margin-left:0cm;
	text-align:justify;
	text-justify:inter-ideograph;
	page-break-after:avoid;
	font-size:16.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.36, li.36, div.36
	{mso-style-name:附录3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
span.3Char0
	{mso-style-name:"标题 3 Char";
	mso-style-link:"标题 3";
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.16, li.16, div.16
	{mso-style-name:附录1;
	margin-top:17.0pt;
	margin-right:0cm;
	margin-bottom:16.5pt;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.17, li.17, div.17
	{mso-style-name:附录表1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.42, li.42, div.42
	{mso-style-name:附录4;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
span.4Char
	{mso-style-name:"标题 4 Char";
	mso-style-link:"标题 4";
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.a3, li.a3, div.a3
	{mso-style-name:附录图说明;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.27, li.27, div.27
	{mso-style-name:序标题2;
	margin-top:13.0pt;
	margin-right:0cm;
	margin-bottom:13.0pt;
	margin-left:28.8pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-28.8pt;
	page-break-after:avoid;
	font-size:16.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.a4, li.a4, div.a4
	{mso-style-name:参考标题;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.18, li.18, div.18
	{mso-style-name:索引标题1;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.19, li.19, div.19
	{mso-style-name:列表1;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.25pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.25pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.1a, li.1a, div.1a
	{mso-style-name:表1;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.25pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.25pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.37, li.37, div.37
	{mso-style-name:图说明3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.62, li.62, div.62
	{mso-style-name:表中字体6号;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	layout-grid-mode:char;
	font-size:7.5pt;
	font-family:"Times New Roman","serif";}
p.a5, li.a5, div.a5
	{mso-style-name:正文代码;
	mso-style-link:"正文代码 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.Char1
	{mso-style-name:"正文代码 Char";
	mso-style-link:正文代码;
	font-family:宋体;}
p.43, li.43, div.43
	{mso-style-name:"样式 标题 4 +";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.140, li.140, div.140
	{mso-style-name:表14;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.25pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.25pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.141, li.141, div.141
	{mso-style-name:图说明14;
	mso-style-link:"图说明14 Char";
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.25pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.25pt;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.14Char
	{mso-style-name:"图说明14 Char";
	mso-style-link:图说明14;
	font-family:宋体;}
p.a6, li.a6, div.a6
	{mso-style-name:文件目录表;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.a7, li.a7, div.a7
	{mso-style-name:"样式 正文 +";
	mso-style-link:"样式 正文 + Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.Char2
	{mso-style-name:"样式 正文 + Char";
	mso-style-link:"样式 正文 +";
	font-family:"Times New Roman","serif";}
p.a8, li.a8, div.a8
	{mso-style-name:表格题注;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:宋体;}
p.a9, li.a9, div.a9
	{mso-style-name:列表题注;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.aa, li.aa, div.aa
	{mso-style-name:图题注;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.ab, li.ab, div.ab
	{mso-style-name:程序题注;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.ac, li.ac, div.ac
	{mso-style-name:框中文字;
	margin-top:0cm;
	margin-right:21.0pt;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	border:none;
	padding:0cm;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.125, li.125, div.125
	{mso-style-name:"样式 标题 1 + 居中2";
	margin-top:17.0pt;
	margin-right:0cm;
	margin-bottom:16.5pt;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.ad, li.ad, div.ad
	{mso-style-name:"样式 题注 + 宋体 五号 居中";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:黑体;}
p.1b, li.1b, div.1b
	{mso-style-name:序标题1;
	margin-top:17.0pt;
	margin-right:0cm;
	margin-bottom:16.5pt;
	margin-left:0cm;
	line-height:240%;
	page-break-after:avoid;
	font-size:16.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.38, li.38, div.38
	{mso-style-name:序标题3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:方正小标宋简体;}
p.63, li.63, div.63
	{mso-style-name:表中文字6号;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:7.5pt;
	font-family:"Times New Roman","serif";}
p.64, li.64, div.64
	{mso-style-name:图中文字6号左对齐;
	margin:0cm;
	margin-bottom:.0001pt;
	line-height:10.0pt;
	layout-grid-mode:char;
	font-size:7.5pt;
	font-family:"Times New Roman","serif";}
p.65, li.65, div.65
	{mso-style-name:图中文字6号;
	mso-style-link:"图中文字6号 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:10.0pt;
	layout-grid-mode:char;
	font-size:7.5pt;
	font-family:"Times New Roman","serif";}
span.6Char
	{mso-style-name:"图中文字6号 Char";
	mso-style-link:图中文字6号;
	font-family:宋体;}
p.ae, li.ae, div.ae
	{mso-style-name:图标;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.28, li.28, div.28
	{mso-style-name:图标2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.af, li.af, div.af
	{mso-style-name:习题标题;
	margin-top:6.0pt;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:黑体;}
p.1c, li.1c, div.1c
	{mso-style-name:部分编号1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:16.0pt;
	font-family:"Times New Roman","serif";}
p.af0, li.af0, div.af0
	{mso-style-name:表标题;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Arial","sans-serif";}
p.af1, li.af1, div.af1
	{mso-style-name:"样式 题注 + 居中";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
p.ListTitle, li.ListTitle, div.ListTitle
	{mso-style-name:ListTitle;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Arial","sans-serif";}
p.FigureTitle, li.FigureTitle, div.FigureTitle
	{mso-style-name:FigureTitle;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Arial","sans-serif";}
p.TableTitle, li.TableTitle, div.TableTitle
	{mso-style-name:TableTitle;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Arial","sans-serif";}
p.ProgramTitle, li.ProgramTitle, div.ProgramTitle
	{mso-style-name:ProgramTitle;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.0pt;
	font-family:"Arial","sans-serif";}
p.RightText, li.RightText, div.RightText
	{mso-style-name:RightText;
	margin-top:0cm;
	margin-right:21.0pt;
	margin-bottom:0cm;
	margin-left:42.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	border:none;
	padding:0cm;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.af2, li.af2, div.af2
	{mso-style-name:表中文字小五;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.af3, li.af3, div.af3
	{mso-style-name:关键词;
	mso-style-link:"关键词 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.Char3
	{mso-style-name:"关键词 Char";
	mso-style-link:关键词;
	font-family:宋体;}
p.af4, li.af4, div.af4
	{mso-style-name:文件名;
	mso-style-link:"文件名 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.Char4
	{mso-style-name:"文件名 Char";
	mso-style-link:文件名;
	font-family:宋体;}
p.af5, li.af5, div.af5
	{mso-style-name:选项;
	mso-style-link:"选项 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.Char5
	{mso-style-name:"选项 Char";
	mso-style-link:选项;
	font-family:宋体;}
p.af6, li.af6, div.af6
	{mso-style-name:命令行;
	mso-style-link:"命令行 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.Char6
	{mso-style-name:"命令行 Char";
	mso-style-link:命令行;
	font-family:宋体;}
p.af7, li.af7, div.af7
	{mso-style-name:函数名;
	mso-style-link:"函数名 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.Char7
	{mso-style-name:"函数名 Char";
	mso-style-link:函数名;
	font-family:宋体;}
p.af8, li.af8, div.af8
	{mso-style-name:寄存器名;
	mso-style-link:"寄存器名 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.Char8
	{mso-style-name:"寄存器名 Char";
	mso-style-link:寄存器名;
	font-family:"Times New Roman","serif";}
p.af9, li.af9, div.af9
	{mso-style-name:变量名;
	mso-style-link:"变量名 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
span.Char9
	{mso-style-name:"变量名 Char";
	mso-style-link:变量名;
	font-family:宋体;}
p.58, li.58, div.58
	{mso-style-name:图中文字小5号左;
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.59, li.59, div.59
	{mso-style-name:图中文字小5号靠左;
	margin:0cm;
	margin-bottom:.0001pt;
	layout-grid-mode:char;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.926, li.926, div.926
	{mso-style-name:"样式 代码程序 + 左侧\:  9\.26 厘米";
	margin:0cm;
	margin-bottom:.0001pt;
	layout-grid-mode:char;
	font-size:10.0pt;
	font-family:宋体;}
span.5Char4
	{mso-style-name:"标题 5 Char";
	mso-style-link:"标题 5";
	font-weight:bold;}
span.6Char0
	{mso-style-name:"标题 6 Char";
	mso-style-link:"标题 6";
	font-family:"Arial","sans-serif";
	font-weight:bold;}
span.7Char
	{mso-style-name:"标题 7 Char";
	mso-style-link:"标题 7";
	font-weight:bold;}
span.8Char
	{mso-style-name:"标题 8 Char";
	mso-style-link:"标题 8";
	font-family:"Arial","sans-serif";}
span.9Char
	{mso-style-name:"标题 9 Char";
	mso-style-link:"标题 9";
	font-family:"Arial","sans-serif";}
span.Chara
	{mso-style-name:"脚注文本 Char";
	mso-style-link:脚注文本;
	font-family:宋体;}
span.Charb
	{mso-style-name:"批注文字 Char";
	mso-style-link:批注文字;
	font-family:宋体;}
span.Charc
	{mso-style-name:"页眉 Char";
	mso-style-link:页眉;
	font-family:宋体;}
span.Chard
	{mso-style-name:"页脚 Char";
	mso-style-link:页脚;
	font-family:宋体;}
span.Chare
	{mso-style-name:"日期 Char";
	mso-style-link:日期;
	font-family:宋体;}
span.HTMLChar
	{mso-style-name:"HTML 预设格式 Char\,HTML 预先格式化 Char\,HTML 预先格式化1 Char\,HTML 预先格式化2 Char\,HTML 预先格式化3 Char";
	mso-style-link:"HTML 预设格式\,HTML 预先格式化\,HTML 预先格式化1\,HTML 预先格式化2\,HTML 预先格式化3";
	font-family:宋体;}
span.Charf
	{mso-style-name:"批注主题 Char";
	mso-style-link:批注主题;
	font-family:宋体;
	font-weight:bold;}
span.Charf0
	{mso-style-name:"批注框文本 Char";
	mso-style-link:批注框文本;
	font-family:宋体;}
.MsoChpDefault
	{font-size:10.0pt;}
 /* Page Definitions */
 @page WordSection1
	{size:595.3pt 841.9pt;
	margin:72.0pt 54.0pt 72.0pt 54.0pt;
	layout-grid:15.6pt;}
div.WordSection1
	{page:WordSection1;}
 /* List Definitions */
 ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
-->
</style>

</head>

<body lang=ZH-CN link=blue vlink=purple style='text-justify-trim:punctuation'>

<div class=WordSection1 style='layout-grid:15.6pt'>

<p class=ab><a name="_Ref194739419"></a><a name="_Toc53320595"></a><a
name="_Ref194739445"><span style='font-family:黑体'>程序</span><span lang=EN-US>5&#8209;</span></a><span
lang=EN-US>1 linux/Makefile</span><span style='font-family:黑体'>文件</span></p>

<div class=2 align=center style='text-align:center'><span lang=EN-US>

<hr size=4 width="100%" align=center>

</span></div>

<p class=2><span lang=EN-US>&nbsp; <a name=L1><u><span style='color:blue'>1</span></u></a>
#</span></p>

<p class=2><span lang=EN-US>&nbsp; <a name=L2><u><span style='color:blue'>2</span></u></a>
# if you want the ram-disk device, define this to be the </span></p>

<p class=2><span lang=EN-US>&nbsp; <a name=L3><u><span style='color:blue'>3</span></u></a>
# size in blocks.</span></p>

<p class=2><span lang=EN-US>&nbsp; <a name=L4><u><span style='color:blue'>4</span></u></a>
#</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>如果你要使用<span lang=EN-US>RAM</span>盘<span
lang=EN-US>(RAMDISK)</span>设备的话就定义块的大小。这里默认<span lang=EN-US>RAMDISK</span>没有定义（注释掉了），</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>否则<span lang=EN-US>gcc</span>编译时会带有选项<span
lang=EN-US>'-DRAMDISK=512'</span>，参见第<span lang=EN-US>13</span>行。</p>

<p class=2><span lang=EN-US>&nbsp; <a name=L5><u><span style='color:blue'>5</span></u></a>
RAMDISK = #-DRAMDISK=512</span></p>

<p class=2><span lang=EN-US>&nbsp; <a name=L6><u><span style='color:blue'>6</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp; <a name=L7><u><span style='color:blue'>7</span></u></a>
AS86&nbsp;&nbsp;&nbsp; =as86 -0 -a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 8086</span>汇编编译器和连接器，见列表后的介绍。后带的参数含义分别</p>

<p class=2><span lang=EN-US>&nbsp; <a name=L8><u><span style='color:blue'>8</span></u></a>
LD86&nbsp;&nbsp;&nbsp; =ld86 -0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>是：<span lang=EN-US>-0 </span>生成<span lang=EN-US>8086</span>目标程序；<span
lang=EN-US>-a </span>生成与<span lang=EN-US>gas</span>和<span lang=EN-US>gld</span>部分兼容的代码。</p>

<p class=2><span lang=EN-US>&nbsp; <a name=L9><u><span style='color:blue'>9</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L10><u><span style='color:blue'>10</span></u></a>
AS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =gas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# GNU</span>汇编编译器和连接器，见列表后的介绍。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L11><u><span style='color:blue'>11</span></u></a>
LD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =gld</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>下面是<span lang=EN-US>GNU</span>链接器<span
lang=EN-US>gld</span>运行时用到的选项。含义是：<span lang=EN-US>-s </span>输出文件中省略所有的符号信息；<span
lang=EN-US>-x </span>删除</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>所有局部符号；<span
lang=EN-US>-M </span>表示需要在标准输出设备<span lang=EN-US>(</span>显示器<span lang=EN-US>)</span>上打印连接映像<span
lang=EN-US>(link map)</span>，是指由连接程序</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>产生的一种内存地址映像，其中列出了程序段装入到内存中的位置信息。具体来讲有如下信息：</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # &#8226; </span>目标文件及符号信息映射到内存中的位置；</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # &#8226; </span>公共符号如何放置；</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # &#8226; </span>连接中包含的所有文件成员及其引用的符号。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L12><u><span style='color:blue'>12</span></u></a>
LDFLAGS =-s -x -M</span></p>

<p class=2><span lang=EN-US>&nbsp;</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # gcc</span>是<span lang=EN-US>GNU
C</span>程序编译器。对于<span lang=EN-US>UNIX</span>类的脚本<span lang=EN-US>(script)</span>程序而言，在引用定义的标识符时，需在前</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>面加上<span lang=EN-US>$</span>符号并用括号括住标识符。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L13><u><span style='color:blue'>13</span></u></a>
CC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =gcc $(RAMDISK)</span></p>

<p class=2><span lang=EN-US>&nbsp;</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>下面指定<span lang=EN-US>gcc</span>使用的选项。前一行最后的<span
lang=EN-US>'\'</span>符号表示下一行是续行。选项含义为：<span lang=EN-US>-Wall </span>打印所有</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>警告信息；<span lang=EN-US>-O
</span>对代码进行优化。<span lang=EN-US>'-f</span>标志<span lang=EN-US>'</span>指定与机器无关的编译标志。其中<span
lang=EN-US>-fstrength-reduce</span>用</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>于优化循环语句；<span
lang=EN-US>-fcombine-regs</span>用于指明编译器在组合编译阶段把复制一个寄存器到另一个寄存</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>器的指令组合在一起。<span
lang=EN-US>-fomit-frame-pointer </span>指明对于无需帧指针（<span lang=EN-US>Frame pointer</span>）的函数不要</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>把帧指针保留在寄存器中。这样在函数中可以避免对帧指针的操作和维护。<span
lang=EN-US>-mstring-insns </span>是</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # Linus</span>在学习<span
lang=EN-US>gcc</span>编译器时为<span lang=EN-US>gcc</span>增加的选项，用于<span lang=EN-US>gcc-1.40</span>在复制结构等操作时使用<span
lang=EN-US>386 CPU</span>的</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>字符串指令，可以去掉。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L14><u><span style='color:blue'>14</span></u></a>
CFLAGS&nbsp; =-Wall -O -fstrength-reduce -fomit-frame-pointer \&nbsp; </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L15><u><span style='color:blue'>15</span></u></a>
-fcombine-regs -mstring-insns</span></p>

<p class=2><span lang=EN-US>&nbsp;</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>下面<span lang=EN-US>cpp</span>是<span
lang=EN-US>gcc</span>的前<span lang=EN-US>(</span>预<span lang=EN-US>)</span>处理器程序。前处理器用于进行程序中的宏替换处理、条件编译处理以及</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>包含进指定文件的内容，即把使用<span
lang=EN-US>'#include'</span>指定的文件包含进来。源程序文件中所有以符号<span lang=EN-US>'#'</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>开始的行均需要由前处理器进行处理。程序中所有<span
lang=EN-US>'#define'</span>定义的宏都会使用其定义部分替换掉。</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>程序中所有<span lang=EN-US>'#if'</span>、<span
lang=EN-US>'#ifdef'</span>、<span lang=EN-US>'#ifndef'</span>和<span lang=EN-US>'#endif'</span>等条件判别行用于确定是否包含其指定范围中</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>的语句。</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # '-nostdinc -Iinclude'</span>含义是不要搜索标准头文件目录中的文件，即不用系统<span
lang=EN-US>/usr/include/</span>目录</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>下的头文件，而是使用<span
lang=EN-US>'-I'</span>选项指定的目录或者是在当前目录里搜索头文件。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L16><u><span style='color:blue'>16</span></u></a>
CPP&nbsp;&nbsp;&nbsp;&nbsp; =cpp -nostdinc -Iinclude</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L17><u><span style='color:blue'>17</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L18><u><span style='color:blue'>18</span></u></a>
#</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L19><u><span style='color:blue'>19</span></u></a>
# ROOT_DEV specifies the default root-device when making the image.</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L20><u><span style='color:blue'>20</span></u></a>
# This can be either FLOPPY, /dev/xxxx or empty, in which case the</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L21><u><span style='color:blue'>21</span></u></a>
# default of /dev/hd6 is used by 'build'.</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L22><u><span style='color:blue'>22</span></u></a>
#</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # ROOT_DEV</span>指定在创建内核映像<span
lang=EN-US>(image)</span>文件时所使用的默认根文件系统所</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>在的设备，这可以是软盘<span
lang=EN-US>(FLOPPY)</span>、<span lang=EN-US>/dev/xxxx</span>或者干脆空着，空着时</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # build</span>程序（在<span
lang=EN-US>tools/</span>目录中）就使用默认值<span lang=EN-US>/dev/hd6</span>。</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>这里<span lang=EN-US>/dev/hd6</span>对应第<span
lang=EN-US>2</span>个硬盘的第<span lang=EN-US>1</span>个分区。这是<span lang=EN-US>Linus</span>开发<span
lang=EN-US>Linux</span>内核时自己的机器上根</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>文件系统所在的分区位置。<span
lang=EN-US>/dev/hd2</span>表示把第<span lang=EN-US>1</span>个硬盘的第<span lang=EN-US>2</span>个分区用作交换分区。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L23><u><span style='color:blue'>23</span></u></a>
ROOT_DEV=/dev/hd6</span></p>

<p class=2><span lang=EN-US style='color:blue'>&nbsp;<u>24</u></span><span
lang=EN-US> SWAP_DEV=/dev/hd2</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L24><u><span style='color:blue'>25</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>下面是<span lang=EN-US>kernel</span>目录、<span
lang=EN-US>mm</span>目录和<span lang=EN-US>fs</span>目录所产生的目标代码文件。为了方便引用在这里将它们用</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # ARCHIVES</span>（归档文件）标识符表示。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L25><u><span style='color:blue'>26</span></u></a>
ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o</span></p>

<p class=2><span lang=EN-US>&nbsp;</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>块和字符设备库文件。<span
lang=EN-US>'.a'</span>表示该文件是个归档文件，也即包含有许多可执行二进制代码子程序</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>集合的库文件，通常是用<span
lang=EN-US>GNU</span>的<span lang=EN-US>ar</span>程序生成。<span lang=EN-US>ar</span>是<span
lang=EN-US>GNU</span>的二进制文件处理程序，用于创建、修改</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>以及从归档文件中抽取文件。</p>

<p class=2><a name=L26><span lang=EN-US>&nbsp;<u><span style='color:blue'>27</span></u></span></a><span
lang=EN-US> DRIVERS =kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L27><u><span style='color:blue'>28</span></u></a>
MATH&nbsp;&nbsp;&nbsp; =kernel/math/math.a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>数学运算库文件。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L28><u><span style='color:blue'>29</span></u></a>
LIBS&nbsp;&nbsp;&nbsp; =lib/lib.a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>由<span lang=EN-US>lib/</span>目录中的文件所编译生成的通用库文件。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L29><u><span style='color:blue'>30</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>下面是<span lang=EN-US>make</span>老式的隐式后缀规则。该行指示<span
lang=EN-US>make</span>利用下面的命令将所有的<span lang=EN-US>'.c'</span>文件编译生成<span
lang=EN-US>'.s'</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>汇编程序。<span lang=EN-US>':'</span>表示下面是该规则的命令。整句表示让<span
lang=EN-US>gcc</span>采用前面<span lang=EN-US>CFLAGS</span>所指定的选项以及仅使</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>用<span lang=EN-US>include/</span>目录中的头文件，在适当地编译后不进行汇编就停止（<span
lang=EN-US>-S</span>），从而产生与输入的各个<span lang=EN-US>C</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>文件对应的汇编语言形式的代码文件。默认情况下所产生的汇编程序文件是原<span
lang=EN-US>C</span>文件名去掉<span lang=EN-US>'.c'</span>后</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>再加上<span lang=EN-US>'.s'</span>后缀。<span
lang=EN-US>'-o'</span>表示其后是输出文件的形式。其中<span lang=EN-US>'$*.s'</span>（或<span
lang=EN-US>'$@'</span>）是自动目标变量，<span lang=EN-US>'$&lt;'</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>代表第一个先决条件，这里即是符合条件<span
lang=EN-US>'*.c'</span>的文件。</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>下面这<span lang=EN-US>3</span>个不同规则分别用于不同的操作要求。若目标是<span
lang=EN-US>.s</span>文件，而源文件是<span lang=EN-US>.c</span>文件则会使</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>用第一个规则；若目录是<span
lang=EN-US>.o</span>，而原文件是<span lang=EN-US>.s</span>，则使用第<span lang=EN-US>2</span>个规则；若目标是<span
lang=EN-US>.o</span>文件而原文件</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>是<span lang=EN-US>c</span>文件，则可直接使用第<span
lang=EN-US>3</span>个规则。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L30><u><span style='color:blue'>31</span></u></a>
.c.s:</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L31><u><span style='color:blue'>32</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(CC) $(CFLAGS) \</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L32><u><span style='color:blue'>33</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-nostdinc -Iinclude -S -o $*.s $&lt;</span></p>

<p class=2><span lang=EN-US>&nbsp;</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>表示将所有<span lang=EN-US>.s</span>汇编程序文件编译成<span
lang=EN-US>.o</span>目标文件。 整句表示使用<span lang=EN-US>gas</span>编译器将汇编程序编译成<span
lang=EN-US>.o</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>目标文件。<span lang=EN-US>-c
</span>表示只编译或汇编，但不进行连接操作。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L33><u><span style='color:blue'>34</span></u></a>
.s.o: </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L34><u><span style='color:blue'>35</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(AS) -c -o $*.o $&lt;</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>类似上面，<span lang=EN-US>*.c</span>文件<span
lang=EN-US>-</span><span lang=EN-US style='font-family:Wingdings'>à</span><span
lang=EN-US>*.o</span>目标文件。整句表示使用<span lang=EN-US>gcc</span>将<span lang=EN-US>C</span>语言文件编译成目标文件但不连接。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L35><u><span style='color:blue'>36</span></u></a>
.c.o:</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L36><u><span style='color:blue'>37</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(CC) $(CFLAGS) \</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L37><u><span style='color:blue'>38</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-nostdinc -Iinclude -c -o $*.o $&lt;</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L38><u><span style='color:blue'>39</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>下面<span lang=EN-US>'all'</span>表示创建<span
lang=EN-US>Makefile</span>所知的最顶层的目标。这里即是<span lang=EN-US>Image</span>文件。这里生成的<span
lang=EN-US>Image</span>文件</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>即是引导启动盘映像文件<span
lang=EN-US>bootimage</span>。若将其写入软盘就可以使用该软盘引导<span lang=EN-US>Linux</span>系统了。在</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # Linux</span>下将<span
lang=EN-US>Image</span>写入软盘的命令参见<span lang=EN-US>46</span>行。<span lang=EN-US>DOS</span>系统下可以使用软件<span
lang=EN-US>rawrite.exe</span>。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L39><u><span style='color:blue'>40</span></u></a>
all:&nbsp;&nbsp;&nbsp; Image</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L40><u><span style='color:blue'>41</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>说明目标（<span lang=EN-US>Image</span>文件）是由冒号后面的<span
lang=EN-US>4</span>个元素产生，分别是<span lang=EN-US>boot/</span>目录中的<span lang=EN-US>bootsect</span>和<span
lang=EN-US>setup</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>文件、<span lang=EN-US>tools/</span>目录中的<span
lang=EN-US>system</span>和<span lang=EN-US>build</span>文件。<span lang=EN-US>42--43</span>行这是执行的命令。<span
lang=EN-US>42</span>行表示使用<span lang=EN-US>tools</span>目</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>录下的<span lang=EN-US>build</span>工具程序（下面会说明如何生成）将<span
lang=EN-US>bootsect</span>、<span lang=EN-US>setup</span>和<span lang=EN-US>system</span>文件以<span
lang=EN-US>$(ROOT_DEV)</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>为根文件系统设备组装成内核映像文件<span
lang=EN-US>Image</span>。第<span lang=EN-US>43</span>行的<span lang=EN-US>sync</span>同步命令是迫使缓冲块数据立即写盘</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>并更新超级块。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L41><u><span style='color:blue'>42</span></u></a>
Image: boot/bootsect boot/setup tools/system tools/build</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L42><u><span style='color:blue'>43</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
tools/build boot/bootsect boot/setup tools/system $(ROOT_DEV) \</span></p>

<p class=2><span lang=EN-US>&nbsp;<u><span style='color:blue'>44</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(SWAP_DEV) &gt; Image</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L43><u><span style='color:blue'>45</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sync</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L44><u><span style='color:blue'>46</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>表示<span lang=EN-US>disk</span>这个目标要由<span
lang=EN-US>Image</span>产生。<span lang=EN-US>dd</span>为<span lang=EN-US>UNIX</span>标准命令：复制一个文件，根据选项进行转换和格</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>式化。<span lang=EN-US>bs=</span>表示一次读<span
lang=EN-US>/</span>写的字节数。<span lang=EN-US>if=</span>表示输入的文件，<span lang=EN-US>of=</span>表示输出到的文件。这里<span
lang=EN-US>/dev/PS0</span>是</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>指第一个软盘驱动器<span
lang=EN-US>(</span>设备文件<span lang=EN-US>)</span>。在<span lang=EN-US>Linux</span>系统下使用<span
lang=EN-US>/dev/fd0</span>。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L45><u><span style='color:blue'>47</span></u></a>
disk: Image</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L46><u><span style='color:blue'>48</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dd bs=8192 if=Image of=/dev/PS0</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L47><u><span style='color:blue'>49</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L48><u><span style='color:blue'>50</span></u></a>
tools/build: tools/build.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>由<span lang=EN-US>tools</span>目录下的<span lang=EN-US>build.c</span>程序生成执行程序<span
lang=EN-US>build</span>。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L49><u><span style='color:blue'>51</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(CC) $(CFLAGS) \</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L50><u><span style='color:blue'>52</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-o tools/build tools/build.c&nbsp; # </span>编译生成执行程序<span lang=EN-US>build</span>的命令。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L51><u><span style='color:blue'>53</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L52><u><span style='color:blue'>54</span></u></a>
boot/head.o: boot/head.s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>利用上面给出的<span lang=EN-US>.s.o</span>规则生成<span lang=EN-US>head.o</span>目标文件。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L53><u><span style='color:blue'>55</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>表示<span lang=EN-US>tools</span>目录中的<span
lang=EN-US>system</span>文件要由冒号右边所列的元素生成。<span lang=EN-US>56--61</span>行是生成<span
lang=EN-US>system</span>的命令。</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>最后的<span lang=EN-US>
&gt; System.map </span>表示<span lang=EN-US>gld</span>需要将连接映像重定向存放在<span
lang=EN-US>System.map</span>文件中。</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>关于<span lang=EN-US>System.map</span>文件的用途参见注释后的说明。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L54><u><span style='color:blue'>56</span></u></a>
tools/system:&nbsp;&nbsp; boot/head.o init/main.o \</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L55><u><span style='color:blue'>57</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(ARCHIVES) $(DRIVERS) $(MATH) $(LIBS)</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L56><u><span style='color:blue'>58</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(LD) $(LDFLAGS) boot/head.o init/main.o \</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L57><u><span style='color:blue'>59</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(ARCHIVES) \</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L58><u><span style='color:blue'>60</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(DRIVERS) \</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L59><u><span style='color:blue'>61</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(MATH) \</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L60><u><span style='color:blue'>62</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(LIBS) \</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L61><u><span style='color:blue'>63</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-o tools/system &gt; System.map</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L62><u><span style='color:blue'>64</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>数学协处理函数文件<span
lang=EN-US>math.a</span>由<span lang=EN-US>64</span>行上的命令实现：进入<span lang=EN-US>kernel/math/</span>目录；运行<span
lang=EN-US>make</span>工具程序。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L63><u><span style='color:blue'>65</span></u></a>
kernel/math/math.a:</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L64><u><span style='color:blue'>66</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(cd kernel/math; make)</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L65><u><span style='color:blue'>67</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L66><u><span style='color:blue'>68</span></u></a>
kernel/blk_drv/blk_drv.a:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>生成块设备库文件<span lang=EN-US>blk_drv.a</span>，其中含有可重定位目标文件。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L67><u><span style='color:blue'>69</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(cd kernel/blk_drv; make)</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L68><u><span style='color:blue'>70</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L69><u><span style='color:blue'>71</span></u></a>
kernel/chr_drv/chr_drv.a:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>生成字符设备函数文件<span lang=EN-US>chr_drv.a</span>。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L70><u><span style='color:blue'>72</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(cd kernel/chr_drv; make)</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L71><u><span style='color:blue'>73</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L72><u><span style='color:blue'>74</span></u></a>
kernel/kernel.o:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>内核目标模块<span lang=EN-US>kernel.o </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L73><u><span style='color:blue'>75</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(cd kernel; make) </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L74><u><span style='color:blue'>76</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L75><u><span style='color:blue'>77</span></u></a>
mm/mm.o:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>内存管理模块<span lang=EN-US>mm.o </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L76><u><span style='color:blue'>78</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(cd mm; make) </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L77><u><span style='color:blue'>79</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L78><u><span style='color:blue'>8</span></u></a><u><span
style='color:blue'>0</span></u> fs/fs.o:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>文件系统目标模块<span lang=EN-US>fs.o </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L79><u><span style='color:blue'>81</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(cd fs; make) </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L80><u><span style='color:blue'>82</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L81><u><span style='color:blue'>83</span></u></a>
lib/lib.a:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>库函数<span lang=EN-US>lib.a </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L82><u><span style='color:blue'>84</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(cd lib; make) </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L83><u><span style='color:blue'>85</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L84><u><span style='color:blue'>86</span></u></a>
boot/setup: boot/setup.s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>这里开始的三行是使用<span lang=EN-US>8086</span>汇编和连接器</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L85><u><span style='color:blue'>87</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(AS86) -o boot/setup.o boot/setup.s&nbsp;&nbsp;&nbsp; # </span>对<span
lang=EN-US>setup.s</span>文件进行编译生成<span lang=EN-US>setup</span>文件。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L86><u><span style='color:blue'>88</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(LD86) -s -o boot/setup boot/setup.o&nbsp;&nbsp; # -s </span>选项表示要去除目标文件中的符号信息。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L87><u><span style='color:blue'>89</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp;<u><span style='color:blue'>90</span></u>
boot/setup.s:&nbsp;&nbsp; boot/setup.S include/linux/config.h&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;# </span>执行<span lang=EN-US>C</span>语言预处理，替换<span lang=EN-US>*.S</span>文
</p>

<p class=2><span lang=EN-US>&nbsp;<u><span style='color:blue'>91</span></u><span
style='color:blue'> </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(CPP)
-traditional boot/setup.S -o boot/setup.s&nbsp; # </span>件中的宏生成对应的<span
lang=EN-US>*.s</span>文件。</p>

<p class=2><span lang=EN-US>&nbsp;<u><span style='color:blue'>92</span></u> </span></p>

<p class=2><span lang=EN-US style='color:blue'>&nbsp;<u>93</u></span><span
lang=EN-US> boot/bootsect.s:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
boot/bootsect.S include/linux/config.h</span></p>

<p class=2><span lang=EN-US>&nbsp;<u><span style='color:blue'>94</span></u><span
style='color:blue'> </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(CPP)
-traditional boot/bootsect.S -o boot/bootsect.s</span></p>

<p class=2><span lang=EN-US>&nbsp;<u><span style='color:blue'>95</span></u> </span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L88><u><span style='color:blue'>96</span></u></a>
boot/bootsect:&nbsp; boot/bootsect.s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>同上。生成<span lang=EN-US>bootsect.o</span>磁盘引导块。</p>

<p class=2><span lang=EN-US>&nbsp;<a name=L89><u><span style='color:blue'>9</span></u></a><u><span
style='color:blue'>7</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(AS86) -o boot/bootsect.o boot/bootsect.s</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L90><u><span style='color:blue'>98</span></u></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$(LD86) -s -o boot/bootsect boot/bootsect.o</span></p>

<p class=2><span lang=EN-US>&nbsp;<a name=L91><u><span style='color:blue'>99</span></u></a>
</span></p>

<p class=2><span lang=EN-US>&nbsp; &nbsp;&nbsp;# </span>当执行<span lang=EN-US>'make
clean'</span>时，就会执行<span lang=EN-US>98--103</span>行上的命令，去除所有编译连接生成的文件。</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # 'rm'</span>是文件删除命令，选项<span
lang=EN-US>-f</span>含义是忽略不存在的文件，并且不显示删除信息。</p>

<p class=2><a name=L97><u><span lang=EN-US style='color:blue'>100</span></u></a><span
lang=EN-US> clean: </span></p>

<p class=2><a name=L98><u><span lang=EN-US style='color:blue'>101</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm -f Image
System.map tmp_make core boot/bootsect boot/setup \</span></p>

<p class=2><u><span lang=EN-US style='color:blue'>102</span></u><span
lang=EN-US style='color:blue'> </span><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boot/bootsect.s
boot/setup.s</span></p>

<p class=2><a name=L99><u><span lang=EN-US style='color:blue'>103</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm -f init/*.o
tools/system tools/build boot/*.o</span></p>

<p class=2><a name=L100><u><span lang=EN-US style='color:blue'>104</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cd mm;make clean)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# </span>进入<span lang=EN-US>mm/</span>目录；执行该目录<span lang=EN-US>Makefile</span>文件中的<span
lang=EN-US>clean</span>规则。</p>

<p class=2><a name=L101><u><span lang=EN-US style='color:blue'>105</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cd fs;make clean)</span></p>

<p class=2><a name=L102><u><span lang=EN-US style='color:blue'>106</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cd kernel;make
clean)</span></p>

<p class=2><a name=L103><u><span lang=EN-US style='color:blue'>107</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cd lib;make clean)</span></p>

<p class=2><a name=L104><u><span lang=EN-US style='color:blue'>108</span></u></a><span
lang=EN-US> </span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>该规则将首先执行上面的<span
lang=EN-US>clean</span>规则，然后对<span lang=EN-US>linux/</span>目录进行压缩，生成<span
lang=EN-US>'backup.Z'</span>压缩文件。</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # 'cd .. '</span>表示退到<span
lang=EN-US>linux/</span>的上一级（父）目录；<span lang=EN-US>'tar cf - linux'</span>表示对<span
lang=EN-US>linux/</span>目录执行<span lang=EN-US>tar</span>归档</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>程序。<span lang=EN-US>'-cf'</span>表示需要创建新的归档文件
<span lang=EN-US>'| compress -'</span>表示将<span lang=EN-US>tar</span>程序的执行通过管道操作<span
lang=EN-US>('|')</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>传递给压缩程序<span
lang=EN-US>compress</span>，并将压缩程序的输出存成<span lang=EN-US>backup.Z</span>文件。</p>

<p class=2><a name=L105><u><span lang=EN-US style='color:blue'>109</span></u></a><span
lang=EN-US> backup: clean</span></p>

<p class=2><a name=L106><u><span lang=EN-US style='color:blue'>110</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cd .. ; tar cf -
linux | compress - &gt; backup.Z)</span></p>

<p class=2><a name=L107><u><span lang=EN-US style='color:blue'>111</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sync&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#
</span>迫使缓冲块数据立即写盘并更新磁盘超级块。</p>

<p class=2><a name=L108><u><span lang=EN-US style='color:blue'>112</span></u></a><span
lang=EN-US> </span></p>

<p class=2><a name=L109><u><span lang=EN-US style='color:blue'>113</span></u></a><span
lang=EN-US> dep:&nbsp; </span></p>

<p class=2 style='text-indent:20.0pt'><span lang=EN-US># </span>该目标或规则用于产生各文件之间的依赖关系。创建这些依赖关系是为了让<span
lang=EN-US>make</span>命令用它们来确定</p>

<p class=2 style='text-indent:20.0pt'><span lang=EN-US># </span>是否需要重建一个目标对象。比如当某个头文件被改动过后，<span
lang=EN-US>make</span>就能通过生成的依赖关系，重新</p>

<p class=2 style='text-indent:20.0pt'><span lang=EN-US># </span>编译与该头文件有关的所有<span
lang=EN-US>*.c</span>文件。具体方法如下：</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>使用字符串编辑程序<span
lang=EN-US>sed</span>对<span lang=EN-US>Makefile</span>文件（这里即是本文件）进行处理，输出为删除了<span
lang=EN-US>Makefile</span></p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>文件中<span lang=EN-US>'###
Dependencies'</span>行后面的所有行，即删除了下面从<span lang=EN-US>122</span>开始到文件末的所有行，并生成</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>一个临时文件<span lang=EN-US>tmp_make</span>（也即<span
lang=EN-US>114</span>行的作用）。然后对指定目录下（<span lang=EN-US>init/</span>）的每一个<span
lang=EN-US>C</span>文件（其实</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>只有一个文件<span lang=EN-US>main.c</span>）执行<span
lang=EN-US>gcc</span>预处理操作。标志<span lang=EN-US>'-M'</span>告诉预处理程序<span
lang=EN-US>cpp</span>输出描述每个目标文件</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>相关性的规则，并且这些规则符合<span
lang=EN-US>make</span>语法。对于每一个源文件，预处理程序会输出一个规则，其</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>结果形式就是相应源程序文件的目标文件名加上其依赖关系，即该源文件中包含的所有头文件列表。</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # </span>然后把预处理结果都添加到临时文件<span
lang=EN-US>tmp_make</span>中，最后将该临时文件复制成新的<span lang=EN-US>Makefile</span>文件。</p>

<p class=2><span lang=EN-US>&nbsp;&nbsp;&nbsp; # 115</span>行上的<span lang=EN-US>'$$i'</span>实际上是<span
lang=EN-US>'$($i) '</span>。这里<span lang=EN-US>'$i'</span>是这句前面的<span
lang=EN-US>shell</span>变量<span lang=EN-US>'i'</span>的值。</p>

<p class=2><a name=L110><u><span lang=EN-US style='color:blue'>114</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sed '/\#\#\#
Dependencies/q' &lt; Makefile &gt; tmp_make</span></p>

<p class=2><a name=L111><u><span lang=EN-US style='color:blue'>115</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (for i in
init/*.c;do echo -n &quot;init/&quot;;$(CPP) -M $$i;done) &gt;&gt; tmp_make</span></p>

<p class=2><a name=L112><u><span lang=EN-US style='color:blue'>116</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cp tmp_make
Makefile</span></p>

<p class=2><a name=L113><u><span lang=EN-US style='color:blue'>117</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cd fs; make dep)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# </span>对<span
lang=EN-US>fs/</span>目录下的<span lang=EN-US>Makefile</span>文件也作同样的处理。</p>

<p class=2><a name=L114><u><span lang=EN-US style='color:blue'>118</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cd kernel; make
dep)</span></p>

<p class=2><a name=L115><u><span lang=EN-US style='color:blue'>119</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cd mm; make dep)</span></p>

<p class=2><a name=L116><u><span lang=EN-US style='color:blue'>120</span></u></a><span
lang=EN-US> </span></p>

<p class=2><a name=L117><u><span lang=EN-US style='color:blue'>121</span></u></a><span
lang=EN-US> ### Dependencies:</span></p>

<p class=a><u><span lang=EN-US style='color:blue'>122</span></u><span
lang=EN-US> init/main.o : init/main.c include/unistd.h include/sys/stat.h \</span></p>

<p class=a><u><span lang=EN-US style='color:blue'>123</span></u><span
lang=EN-US>&nbsp;&nbsp; include/sys/types.h include/sys/time.h include/time.h
include/sys/times.h \</span></p>

<p class=a><a name=L124><u><span lang=EN-US style='color:blue'>124</span></u></a><span
lang=EN-US>&nbsp;&nbsp; include/sys/utsname.h include/sys/param.h
include/sys/resource.h \</span></p>

<p class=a><a name=L125><u><span lang=EN-US style='color:blue'>125</span></u></a><span
lang=EN-US>&nbsp;&nbsp; include/utime.h include/linux/tty.h include/termios.h
include/linux/sched.h \</span></p>

<p class=a><a name=L126><u><span lang=EN-US style='color:blue'>126</span></u></a><span
lang=EN-US>&nbsp;&nbsp; include/linux/head.h include/linux/fs.h
include/linux/mm.h \</span></p>

<p class=a><a name=L127><u><span lang=EN-US style='color:blue'>127</span></u></a><span
lang=EN-US>&nbsp;&nbsp; include/linux/kernel.h include/signal.h
include/asm/system.h \</span></p>

<p class=a><a name=L128><u><span lang=EN-US style='color:blue'>128</span></u></a><span
lang=EN-US>&nbsp;&nbsp; include/asm/io.h include/stddef.h include/stdarg.h
include/fcntl.h \</span></p>

<p class=a><a name=L129><u><span lang=EN-US style='color:blue'>129</span></u></a><span
lang=EN-US>&nbsp;&nbsp; include/string.h </span></p>

<div class=2 align=center style='text-align:center'><span lang=EN-US>

<hr size=4 width="100%" align=center>

</span></div>

<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>

</div>

</body>

</html>
